//package com.qhgrain.app.controller;
//
//import java.util.ArrayList;
//import java.util.Arrays;
//import java.util.List;
//
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Controller;
//import org.springframework.ui.Model;
//import org.springframework.web.bind.annotation.PathVariable;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.ResponseBody;
//
//import com.alibaba.fastjson.JSONObject;
//import com.paas.base.modules.utils.lang.StringUtil;
//import com.paas.base.modules.utils.page.PageBean;
//import com.qhgrain.app.service.AppGroupService;
//import com.qhgrain.app.service.ApplicationService;
//import com.qhgrain.app.vo.AppGroupVo;
//import com.qhgrain.app.vo.PairVo;
///**
// * 应用群组
// *@description:
// *@company:怡和祥云
// *@version:1.0.0
// *@author weijianfei
// *@date: 2016年4月11日 下午2:05:53
// */
//@Controller
//@RequestMapping("/appgroup")
//public class AppGroupController {
//
//	private static Logger LOG = LoggerFactory.getLogger(ApplicationController.class);
//	
//	
//	@Autowired
//	private AppGroupService appGroupService;
//	@Autowired
//	private ApplicationService applicationService;
//	
//	@RequestMapping(value="/list" )
//	public String pageList(Model model,String name, String pageNo,String pageSize) throws Exception{
//		int num = 1;
//		int size = 10;
//		if(StringUtil.isNotBlank(pageNo)){
//			num = Integer.parseInt(pageNo);
//		}
//		if(StringUtil.isNotBlank(pageSize)){
//			size = Integer.parseInt(pageSize);
//		}
//		if(StringUtil.isNotBlank(name)){
//			model.addAttribute("name",name.trim());
//		}
//		PageBean<AppGroupVo> page = this.appGroupService.queryPage(name, num, size);
//		model.addAttribute("pageBean", page);
//		return "appgroup/appgroup_list";
//	}
//	@RequestMapping(value="/add")
//	public String addPage(Model model) throws Exception{
//		AppGroupVo ag = new AppGroupVo();
//		model.addAttribute("ag", ag);
//		model.addAttribute("selectedAppList",new ArrayList<PairVo>());
//		model.addAttribute("noSelectedAppList",this.applicationService.getAll(null));
//		return "appgroup/appgroup_edit";
//	}
//	
//	@RequestMapping(value="/edit/{id}")
//	public String editPage(Model model,@PathVariable("id")String id) throws Exception{
//		AppGroupVo ag = this.appGroupService.find(id);
//		model.addAttribute("ag", ag);
//		List<PairVo> selectedAppList = this.applicationService.queryByAppGroup(id);
//		List<PairVo> allAppList = this.applicationService.getAll(null);
//		List<PairVo> noSelectedAppList = findNoSelectedApp(selectedAppList,allAppList);
//		model.addAttribute("selectedAppList",selectedAppList);
//		model.addAttribute("noSelectedAppList",noSelectedAppList);
//		return "appgroup/appgroup_edit";
//	}
//	
//	private List<PairVo> findNoSelectedApp(List<PairVo> selectedAppList,
//			List<PairVo> allAppList) {
//		List<PairVo> list = new ArrayList<PairVo>();
//		if(allAppList == null || selectedAppList == null ){
//			return list;
//		}
//		boolean isSelected = false;
//		for(PairVo p : allAppList){
//			isSelected = false;
//			for(PairVo p2 : selectedAppList){
//				if(p.getCode().equals(p2.getCode())){
//					isSelected = true;
//					break;
//				}
//			}
//			if(!isSelected){
//				list.add(p);
//			}
//		}
//		return list;
//	}
//	@RequestMapping(value="/save")
//	@ResponseBody
//	public JSONObject save(Model model,String id,String name,String description,String appIds){
//		JSONObject result = new JSONObject();
//		try {
//			List<String> appIdList = null;
//			if(StringUtil.isNotBlank(appIds)){
//				appIdList = Arrays.asList(appIds.split(","));
//			}
//			boolean isSucces = false;
//			if(StringUtil.isBlank(id)){
//				isSucces = this.appGroupService.add(name, description,appIdList);
//			}else{
//				isSucces = this.appGroupService.update(id, name, description, appIdList, true);
//			}
//			result.put("code", isSucces?"success":"fail");
//		} catch (Exception e) {
//			LOG.error("应用群组保存系统出错...",e);
//			result.put("code", "fail");
//		}
//		
//		return result;
//	}
//	
//	@RequestMapping(value="/delete")
//	@ResponseBody
//	public JSONObject delete(Model model, String ids){
//		JSONObject result = new JSONObject();
//		if(StringUtil.isBlank(ids)){
//			result.put("code", "0");
//			result.put("msg", "应用id不能为空");
//		}else{
//			
//			try {
//				boolean isSuccess = this.appGroupService.delete(Arrays.asList(ids));
//				if(isSuccess){
//					result.put("code", "success");
//					result.put("msg", "成功");
//				}else{
//					result.put("code", "fail");
//					result.put("msg", "系统出错，删除失败!");
//					LOG.error("删除应用群组,api失败...");
//				}
//			} catch (Exception e) {
//				LOG.error("删除应用群组，系统出错....ids="+ids,e);
//				result.put("code", "fail");
//				result.put("msg", "系统出错");
//			}
//		}
//		
//		return result;
//	}
//}
